package LeetCode;

//
// Created by ✎﹏ℳ๓独赏☆独醉 on 2024/6/6.
//
//https://leetcode.cn/problems/best-time-to-buy-and-sell-stock/description/
public class 买股票的最佳时机 {
    public static void main(String[] args) {
        int[] prices = {};
        System.out.println(maxProfit(prices));
    }

    private static int maxProfit(int[] prices) {
        int minprice = Integer.MAX_VALUE;
        int maxprofit = 0;
        for (int i = 0; i < prices.length; i++) {
            if (prices[i] < minprice) {
                minprice = prices[i];
            } else if (prices[i] - minprice > maxprofit) {
                maxprofit = prices[i] - minprice;
            }
        }
        return maxprofit;
    }
}

//    public static int maxProfit(int[] prices) {
//        int maxProfit;
//        int maxValueIndex = 0;
//        for (int i = 1; i < prices.length; i++) {
//            if(prices[i] > prices[maxValueIndex])maxValueIndex = i;
//        }
//        if(maxValueIndex == 0){
//            maxProfit = 0;
//        }else {
//            int minValueIndex = maxValueIndex;
//            for (int i = minValueIndex - 1; i >= 0 ; i--) {
//                if(prices[i] < prices[minValueIndex])minValueIndex = i;
//            }
//            maxProfit = prices[maxValueIndex] - prices[minValueIndex];
//        }
//        int minValueIndex = 0;
//        for (int i = 1; i < prices.length; i++) {
//            if(prices[i] < prices[minValueIndex])minValueIndex = i;
//        }
//        if(minValueIndex == prices.length){
//            return maxProfit;
//        } else {
//            maxValueIndex = minValueIndex;
//            for (int i = maxValueIndex + 1; i < prices.length; i++) {
//                if(prices[i] > prices[maxValueIndex])maxValueIndex = i;
//            }
//            return Math.max(maxProfit,prices[maxValueIndex] - prices[minValueIndex]);
//        }
//
//    }

